package org.jeecg.modules.complain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.system.entity.BaseEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 投诉管理
 * @Author: jeecg-boot
 * @Date:   2019-08-30
 * @Version: V1.0
 */
@Data
@TableName("complain")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="complain对象", description="投诉管理")
public class Complain  extends BaseEntity {
    
	/**编号*/
	@TableId(type = IdType.UUID)
    @ApiModelProperty(value = "编号")
	private String id;
	private String userId;
	/**管理处ID*/
	@Excel(name = "管理处ID", width = 15)
    @ApiModelProperty(value = "管理处ID")
	@Dict(dicCode = "id",dictTable = "sys_depart",dicText = "depart_name")
	private String departId;
	/**反馈人*/
	@Excel(name = "反馈人", width = 15)
    @ApiModelProperty(value = "反馈人")
	private String name;
	/**联系方式*/
	@Excel(name = "联系方式", width = 15)
    @ApiModelProperty(value = "联系方式")
	private String telephone;
	/**投诉类型(0 建议 1 投诉)*/
	@Excel(name = "投诉类型(0 建议 1 投诉)", width = 15)
    @ApiModelProperty(value = "投诉类型(0 建议 1 投诉)")
	@Dict(dicCode = "complain")
	private String type;
	/**投诉单号*/
	@Excel(name = "投诉单号", width = 15)
    @ApiModelProperty(value = "投诉单号")
	private String complainNo;
	private Integer source;
	/**处理进度*/
	@Excel(name = "处理进度", width = 15)
    @ApiModelProperty(value = "处理进度")
	@Dict(dicCode = "complain_status")
	private Integer status;
	/**反馈内容*/
	@Excel(name = "反馈内容", width = 15)
    @ApiModelProperty(value = "反馈内容")
	private String content;
	/**项目id*/
	@Excel(name = "项目id", width = 15)
    @ApiModelProperty(value = "项目id")
	@Dict(dicCode = "id",dictTable="base_project",dicText="name")
	private String projectId;
	/**投诉图片*/
	@Excel(name = "投诉图片", width = 15)
    @ApiModelProperty(value = "投诉图片")
	private String picture;
	/**反馈时间*/
	@Excel(name = "反馈时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "反馈时间")
	private Date returnDate;
	/**删除标记*/
	@Excel(name = "删除标记", width = 15)
    @ApiModelProperty(value = "删除标记")
	private String delFlag;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
	private String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**物业公司id*/
	@Excel(name = "物业公司id", width = 15)
    @ApiModelProperty(value = "物业公司id")
	private String tenantId;
	@TableField(exist = false)
    private ComplainStatus complainStatus;
}
